package com.peiqi.aiproject.controller;

import cn.hutool.http.HttpStatus;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.peiqi.aiproject.domain.vo.PostsVo;
import com.peiqi.aiproject.domain.vo.ResponseVO;
import com.peiqi.aiproject.service.PostsService;
import com.peiqi.aiproject.utils.PageUtils;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import static com.peiqi.aiproject.domain.vo.ResponseVO.success;

/**
 * 帖子接口
 */
@RestController
@RequestMapping("/api/posts")
public class PostsController {
    @Resource
    PostsService postsService;

    /**
     * 查询所有帖子的信息。
     *
     * @param pageNum 请求参数：当前请求的页码（从1开始）。
     * @param pageSize 请求参数：每页显示的记录数。
     * @return 返回一个包含帖子分页信息的响应体。响应体中包括HTTP状态码、请求结果和分页的帖子数据。
     */
    @GetMapping
    public ResponseVO<Page<PostsVo>> findAll() {
        Page<PostsVo> all = postsService.findAll(PageUtils.buildPage());
        return success(HttpStatus.HTTP_OK, all);
    }
}